分别用fgetc,fgets,fread,read读取文件内容,输出到屏幕 您所在的位置:网站首页 fgets str n fp 函数从文件中读入一个字符串 分别用fgetc,fgets,fread,read读取文件内容,输出到屏幕

分别用fgetc,fgets,fread,read读取文件内容,输出到屏幕

2024-07-16 14:46| 来源: 网络整理| 查看: 265

1.fgetc()函数 在C语言中, fgetc是一个 标准库函数,用于从文件中读取下一个字符。它属于   头文件中定义的输入函数之一。 功能:从文件中读出一个字符,必须先调用 fopen 打开文件,然后才能读文件 int fgetc(FILE *stream); 参数: stream 是 fopen 的返回值 返回值: 是读出的字符 ( 类型是 int , 因为 char 可以相当于一个特殊的 int 是 1 字节的 int)                EOF表示 读到了文件尾或者读失败 示例:用fgetc读取文件内容,输出到屏幕 #include int main() { FILE *fp = fopen("hello.c", "r"); if(fp != NULL) { char a = fgetc(fp); //读出一个字符 while(a != EOF) //EOF表示读失败,不是EOF说明没读到文件尾 { printf("%c", a); a = fgetc(fp); //继续读 } } else { printf("open failed\n"); } } 2.fgets()函数

在C语言中,fgets 是一个标准库函数,用于从文件中读取一行字符串。它也是  头文件中定义的输入函数之一。

功能:从文件中读取一行 char *fgets(char *s, int size, FILE *stream); 参数 1: s 读到的数据存放的缓存区 ( 暂存区 ) 的首地址 (s 通常是一个字符串数组 )         2: size : s 中最多能存多少个字节         3: stream fopen 的返回值 返回值 : 是个 char*( 指针 ) , NULL 表示读失败或者读到了文件尾 示例: 用fgets读取文件内容,输出到屏幕 #include #include int main() { FILE *fp = fopen("test.c","r"); if (fp == NULL) { printf("open file error: errno:%d\n", errno); perror("fopen"); } else { printf("open file success\n"); char buf[100] = {0}; char* ret = fgets(buf, sizeof(buf), fp); while (ret != NULL) { printf("%s", buf); ret = fgets(buf, sizeof(buf), fp); } fclose(fp); } } 3.fread()函数

在C语言中,fread 是一个标准库函数,用于从文件流中读取块数据。它属于  头文件中定义的输入函数之一。

功能: fread 函数从指定的流 stream 中读取 nmemb 个元素,每个元素的大小为 size 字节,并将它们存储在 ptr 指向的内存块中。fread 是一个二进制读取函数,它可以读取任何类型的数据。

size_t fread ( void * ptr , size_t size , size_t nmemb , FILE * stream ); 参数说明: ptr ---> 读出的数据存放的位置 ( 缓存区首地址 ) size -->   一个元素的大小 nmemb --> 元素个数 stream --> fopen 的返回值 返回值 : 实际读出的块数 , 0) { printf("%s", buf); memset(buf, 0, sizeof(buf)); //清理缓冲区 } } fclose(fp); } 4.read()函数

在C语言中,read 是一个系统调用函数,用于从文件描述符中读取数据。它与 fread 函数不同,fread 是C标准库函数,作用于流(FILE *),而 read 直接在文件描述符层面上工作。

功能 : read 函数从文件描述符  fd 指向的文件中读取最多  count 个字节的数据,并将它们存储在  buf 指向的缓冲区中。如果读取成功, read 返回实际读取的字节数。如果到达文件末尾,返回 0。如果发生错误,返回 -1。 size_t read ( int fd , void * buf , size_t count ); 参数: fd open 的返回值 ( 一个文件描述符 ) buf 读取的数据,存放的位置 ( 缓存区的首地址 ) count 想要读取的数据的长度 ( 缓存区的大小 ) 返回值: > 0 实际读到的数据的长度 0) { printf("%s", buf); memset(buf, 0, sizeof(buf)); } close(fd); } }

到这里代码就分享结束,以上就是fgetc(),fgets(),fread(),read()的基本使用,大家可以参考学习学习,如有不足或错误,请在评论区留言。

5.结语

最后的最后,如果大家觉得有用,就请点点赞,点点关注,谢谢大家!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有